home *** CD-ROM | disk | FTP | other *** search
/ Just Call Me Internet / Just Call Me Internet.iso / prog / mint / netlib / lib / recv.c < prev    next >
Encoding:
C/C++ Source or Header  |  1994-12-27  |  648 b   |  44 lines

  1. /*
  2.  *    recv() emulation for MiNT-Net, (w) '93, kay roemer
  3.  */
  4.  
  5. #include "socklib.h"
  6. #ifdef KERNEL
  7. #include "kerbind.h"
  8. #else
  9. #include <mintbind.h>
  10. #endif
  11. #include "sys/socket.h"
  12. #include "mintsock.h"
  13.  
  14. #ifndef KERNEL
  15. extern int errno;
  16. #endif
  17.  
  18. int
  19. recv (fd, buf, buflen, flags)
  20.     int fd;
  21.     void *buf;
  22.     _SIZE_T buflen;
  23.     int flags;
  24. {
  25.     struct recv_cmd cmd;
  26.     int r;
  27.  
  28.     cmd.cmd =    RECV_CMD;
  29.     cmd.buf =    buf;
  30.     cmd.buflen =    buflen;
  31.     cmd.flags =    flags;
  32.  
  33. #ifdef KERNEL
  34.     r = f_cntl (fd, (long)&cmd, SOCKETCALL);
  35. #else
  36.     r = Fcntl (fd, (long)&cmd, SOCKETCALL);
  37.     if (r < 0) {
  38.         errno = -r;
  39.         return -1;
  40.     }
  41. #endif
  42.     return r;
  43. }
  44.